package com.xiaoshuidi.cloud.module.rooms.service;

import com.xiaoshuidi.cloud.framework.common.pojo.PageResult;
import com.xiaoshuidi.cloud.module.rooms.controller.admin.doorlockcdkey.vo.*;
import com.xiaoshuidi.cloud.module.rooms.pojo.RoomDoorlockCdkey;

/**
 * @Author Feng
 * @date 2023/9/27
 */
public interface RoomDoorlockCdkeyService {

    /**
     * 门锁激活码配置 - 新增
     *
     * @param req
     * @return
     */
    boolean create(RoomDoorlockCdkeyReq req);

    /**
     * 门锁激活码配置 - 编辑
     *
     * @param req
     * @return
     */
    boolean update(RoomDoorlockCdkeyReq req);

    /**
     * 门锁激活码配置 - 分页列表
     *
     * @param req
     * @return
     */
    PageResult<RoomDoorlockCdkeyPageResp> page(RoomDoorlockCdkeyPageReq req);

    /**
     * 门锁激活码配置 - 删除
     *
     * @param id
     * @return
     */
    boolean remove(Long id);

    /**
     * 门锁激活码配置 - 关联房源
     *
     * @param req
     * @return
     */
    boolean editMapping(RoomDoorlockCdkeyMappingReq req);

    /**
     * 门锁激活码配置 - 获取关联房源
     *
     * @param id
     * @return
     */
    RoomDoorlockCdkeyMappingResp queryMapping(Long id);

    /**
     * 根据门锁编码获取激活内容
     *
     * @param deviceNo
     * @return
     */
    RoomDoorlockCdkey queryByDeviceNo(String deviceNo);
}
